Skip to content

Add DisableAllFieldObjects functionality across decorators#292

Merged
scottolsonjr merged 5 commits intomainfrom
163-implement-disableallfieldobjects-method
Feb 14, 2026
Merged

Add DisableAllFieldObjects functionality across decorators#292
scottolsonjr merged 5 commits intomainfrom
163-implement-disableallfieldobjects-method

Conversation

@scottolsonjr
Copy link
Copy Markdown
Contributor

  • Implemented DisableAllFieldObjects method in RowObjectDecorator, OptionObjectDecorator, OptionObject2Decorator, and OptionObject2015Decorator to disable all FieldObjects.
  • Added overloads to allow exclusion of specific FieldNumbers during the disabling process.
  • Updated corresponding helper classes to support the new functionality.
  • Enhanced unit tests to cover various scenarios for disabling field objects, including null checks and exclusion lists.
  • Adjusted exception handling to throw ArgumentException for missing forms instead of ArgumentNullException.

- Implemented DisableAllFieldObjects method in RowObjectDecorator, OptionObjectDecorator, OptionObject2Decorator, and OptionObject2015Decorator to disable all FieldObjects.
- Added overloads to allow exclusion of specific FieldNumbers during the disabling process.
- Updated corresponding helper classes to support the new functionality.
- Enhanced unit tests to cover various scenarios for disabling field objects, including null checks and exclusion lists.
- Adjusted exception handling to throw ArgumentException for missing forms instead of ArgumentNullException.
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a DisableAllFieldObjects capability across the “Net” decorator layer (Row/Form/Option variants) and aligns legacy helper behavior + tests, enabling consumers to disable all field objects while optionally excluding specific FieldNumbers.

Changes:

  • Added DisableAllFieldObjects() and DisableAllFieldObjects(List<string> excludedFields) APIs to Row/Form/Option decorators (OptionObject, OptionObject2, OptionObject2015) and corresponding helpers.
  • Updated legacy OptionObjectHelpers.DisableAllFieldObjects to throw ArgumentException when forms are missing (instead of ArgumentNullException) and adjusted tests accordingly.
  • Expanded unit test coverage in RarelySimple.AvatarScriptLink.Net.Tests and legacy tests for disable/exclusion scenarios.

Reviewed changes

Copilot reviewed 15 out of 15 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
dotnet/RarelySimple.AvatarScriptLink/Helpers/OptionObject/DisableAllFieldObjects.cs Adjusts missing-forms exception type for legacy helper API.
dotnet/RarelySimple.AvatarScriptLink.Tests/Helpers/OptionObject/DisableAllFieldObjectsTests.cs Updates expected exception type for missing-forms case.
dotnet/RarelySimple.AvatarScriptLink.Net/Decorators/RowObjectDecoratorHelper.cs Implements row-level field disabling with optional exclusions.
dotnet/RarelySimple.AvatarScriptLink.Net/Decorators/RowObjectDecorator.cs Exposes row-level disable APIs on the decorator.
dotnet/RarelySimple.AvatarScriptLink.Net/Decorators/FormObjectDecoratorHelper.cs Implements form-level disable across current/other rows.
dotnet/RarelySimple.AvatarScriptLink.Net/Decorators/FormObjectDecorator.cs Exposes form-level disable APIs on the decorator.
dotnet/RarelySimple.AvatarScriptLink.Net/Decorators/OptionObjectDecoratorHelper.cs Implements option-level disable across all forms (OptionObject).
dotnet/RarelySimple.AvatarScriptLink.Net/Decorators/OptionObjectDecorator.cs Exposes option-level disable APIs (OptionObject).
dotnet/RarelySimple.AvatarScriptLink.Net/Decorators/OptionObject2DecoratorHelper.cs Implements option-level disable across all forms (OptionObject2).
dotnet/RarelySimple.AvatarScriptLink.Net/Decorators/OptionObject2Decorator.cs Exposes option-level disable APIs (OptionObject2).
dotnet/RarelySimple.AvatarScriptLink.Net/Decorators/OptionObject2015DecoratorHelper.cs Implements option-level disable across all forms (OptionObject2015).
dotnet/RarelySimple.AvatarScriptLink.Net/Decorators/OptionObject2015Decorator.cs Exposes option-level disable APIs (OptionObject2015).
dotnet/RarelySimple.AvatarScriptLink.Net.Tests/Decorators/OptionObjectDecoratorTests.cs Adds tests for disabling behavior and exclusion list handling (OptionObject).
dotnet/RarelySimple.AvatarScriptLink.Net.Tests/Decorators/OptionObject2DecoratorTests.cs Adds tests for disabling behavior and exclusion list handling (OptionObject2).
dotnet/RarelySimple.AvatarScriptLink.Net.Tests/Decorators/OptionObject2015DecoratorTests.cs Adds tests for disabling behavior and exclusion list handling (OptionObject2015).

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 15 out of 15 changed files in this pull request and generated 5 comments.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 17 out of 17 changed files in this pull request and generated 4 comments.

Comment thread dotnet/RarelySimple.AvatarScriptLink.Net/Decorators/FormObjectDecoratorHelper.cs Outdated
Comment thread dotnet/RarelySimple.AvatarScriptLink.Net/Decorators/RowObjectDecoratorHelper.cs Outdated
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 18 out of 18 changed files in this pull request and generated 1 comment.

Comment thread .github/instructions/dotnet.instructions.md Outdated
@sonarqubecloud
Copy link
Copy Markdown

@scottolsonjr scottolsonjr merged commit b7d6fc0 into main Feb 14, 2026
6 checks passed
@scottolsonjr scottolsonjr deleted the 163-implement-disableallfieldobjects-method branch February 14, 2026 21:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement DisableAllFieldObjects Method

2 participants